/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package net.etrs.formathlon.metier.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import net.etrs.formathlon.metier.utils.constantes.Parametres;

/**
 * Classe utilitaire pour la gestion des fichiers.
 * @author OPIF
 */
public abstract class FileUtils {
    
    /**
     * Retourne le flux du fichier passé en paramètre. Le fichier doit se trouver dans
     * le dossier "META-INF" de l'application. Demande également la classe de l'EJB
     * appelante.
     * @param fichier Le nom de fichier dans "META-INF".
     * @param EJBClass La classe EJB appelante.
     */
    private static InputStream getInputStream(String fichier, Class EJBClass){
        return EJBClass.getResourceAsStream(String.format("/META-INF/%s",fichier));
    }
    
    
    /**
     * Retourne le fichier de properties de config de l'application.
     * @param EJBClass La classe EJB appelante.
     */
    public static Properties getConfigProperties(Class EJBClass) throws IOException{
        Properties prop = new Properties(); 
        prop.load(getInputStream(Parametres.CONFIG_FILE, EJBClass));
        return prop;
    }
    

    //Constructeur privé pour une classe de service.
    private FileUtils() {}


}
